"""
3、交替放置的碟子
我们有数量为2n的一排碟子，n黑n白交替放置：黑，白，黑，白…
现在要把黑碟子都放在右边，白碟子都放在左边，但只允许通过互换相邻碟子的位置来实现。为该谜题写个算法，并确定该算法需要执行的换位次数。
"""
List = [1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
while True:
    # 初始状态为1
    state = 1
    for i in range(len(List) - 1):  # i会从0开始
        if List[i] < List[i + 1]:
            n = List[i]
            List[i] = List[i + 1]
            List[i + 1] = n
            state = 0
    # 如果无需交换就表示已经排序完毕，跳出循环
    if state:
        break
print(List)
